package com.iwomy.secureplat.platform.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 资费管理-设备配置及赠送记录
 *
 * @author pig
 * @date 2023-12-12 11:14:57
 */
@Data
@TableName("basic_expenses_dvice_config")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "资费管理-设备配置及赠送记录")
public class BasicExpensesDviceConfigEntity extends Model<BasicExpensesDviceConfigEntity> {


	/**
	* ID
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="ID")
    private Long id;

	/**
	* 设备id
	*/
    @Schema(description="设备id")
    private Long deviceId;

	/**
	* 所属单位id
	*/
    @Schema(description="所属单位id")
    private Long deptId;

	/**
	 * IMEI
	 */
	@Schema(description = "IMEI")
	private String imei;

	/**
	 * 设备类型名称
	 */
	@Schema(description = "设备类型名称")
	private String deviceType;

	/**
	 * 设备型号名称
	 */
	@Schema(description = "设备型号名称")
	private String deviceModelName;

	/**
	* 赠送单位
	*/
    @Schema(description="赠送单位")
    private Long giveDeptId;

	/**
	* 分配方式 10短信 20语音
	*/
    @Schema(description="分配方式 10短信 20语音")
    private Integer type;

	/**
	* 配置方式(10配送；20代付)
	*/
    @Schema(description="配置方式(10配送；20代付)")
    private Integer deliveryMethod;

	/**
	* 赠送数量，无限制为 999999
	*/
    @Schema(description="赠送数量，无限制为 999999")
    private Integer deliveryNum;

	/**
	 * 使用剩余数量，无限制为 999999
	 */
	@Schema(description="使用剩余数量，无限制为 999999")
	private Integer useRemainNum;

	/**
	* 剩余数量，无限制为 999999
	*/
    @Schema(description="剩余数量，无限制为 999999")
    private Integer remainNum;

	/**
	* 总限制，无限制为 999999
	*/
    @Schema(description="总限制，无限制为 999999")
    private Integer totalLimit;

	/**
	* 日限，无限制为 999999
	*/
    @Schema(description="日限，无限制为 999999")
    private Integer sumDay;

	/**
	* 月限，无限制为 999999
	*/
    @Schema(description="月限，无限制为 999999")
    private Integer sumMonth;

	/**
	* 总限制剩余次数
	*/
    @Schema(description="总限制剩余次数")
    private Integer totalLimitRemain;

	/**
	* 日限剩余次数
	*/
    @Schema(description="日限剩余次数")
    private Integer sumDayRemain;

	/**
	* 月限剩余次数
	*/
    @Schema(description="月限剩余次数")
    private Integer sumMonthRemain;

	/**
	* 代付到期时间
	*/
    @Schema(description="代付到期时间")
    private LocalDateTime expirationDate;

	/**
	* 排序
	*/
    @Schema(description="排序")
    private Integer sort;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;

	/**
	* 修改人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改人")
    private String updateBy;

	/**
	* 修改时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改时间")
    private LocalDateTime updateTime;
 
	/**
	* delFlag
	*/
    @TableLogic
		@TableField(fill = FieldFill.INSERT)
    @Schema(description="delFlag")
    private String delFlag;

	/**
	 * 租户ID
	 */
	@Schema(description="租户ID")
	private Long tenantId;
}